Oracle中函数regexp_count及regexp_replace用法

一、REGEXP_COUNT ( source_char, pattern , position , match_param)

四个参数解释:

source:
需要用来进行分析的字符串,如  "aaaa","welcome","abc12cdg"  等
pattern:
字符(可以是正常字母数字等 a,1 等,也可以是正则表达式 /d /w  [a-z]等),整个函数的作用就是返回pattern在source中出现的次数值。
position:
从字符串的那个位置开始分析,可以省略,默认值是1
match_param:
‘i’ 用于不区分大小写的匹配
‘c’ 用于区分大小写的匹配
‘n’ 允许句点(.)作为通配符去匹配换行符。如果省略该参数,则句点将不匹配换行符
‘m’ 将源串视为多行。即Oracle 将^和$分别看作源串中任意位置任何行的开始和结束,而不是仅仅看作整个源串的开始或			  结束。如果省略该参数,则Oracle将源串看作一行。
‘x’ 忽略空格字符。默认情况下,空格字符与自身相匹配。
举例:
select REGEXP_COUNT('welcome','\w')   from DUAL;
二、REGEXP_REPLACE(VARCHAR str, VARCHAR pattern, VARCHAR replacement)

三个参数的解释:

str:
指定用来分析的字符串
pattern:
被替换的字符串,其中可以是 a,b,c之类的普通字符,也可以是正则表达式 [a-z]  /w   /d等
replacement:
用于替换的字符串
举例
select regexp_replace('welcome','e','vv') from dual;
select regexp_replace('welcome','[a-z]','vvv') as result from dual;
  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
REGEXP_COUNT函数Oracle数据库的一个函数,用于计算一个字符串某个模式出现的次数。它有四个参数:source_char,pattern,position和match_param。 source_char是需要进行分析的字符串,例如"aaaa"、"welcome"、"abc12cdg"等。 pattern是用来匹配的字符串或正则表达式。它可以是普通的字母、数字,也可以是正则表达式的表示方式,例如\d、\w、[a-z]等。 position是从字符串的哪个位置开始进行匹配,默认值是1。 match_param参数用于指定匹配模式,有以下几个选项: - 'i':不区分大小写的匹配。 - 'c':区分大小写的匹配。 - 'n':允许句点(.)作为通配符去匹配换行符。 - 'm':将源串视为多行,即将^和$分别看作源串任意位置任何行的开始和结束,而不是整个源串的开始或结束。 - 'x':忽略空格字符,默认情况下,空格字符与自身相匹配。 下面是一个使用REGEXP_COUNT函数的例子: ``` SELECT REGEXP_COUNT('welcome', '\w') FROM DUAL; ``` 这个例子,我们计算了字符串"welcome"包含的单词数。'\w'是一个正则表达式,代表一个单词字符。所以这个函数将返回1,因为字符串只有一个单词。 另外,Oracle数据库还提供了REGEXP_REPLACE函数,用于替换字符串的某个模式为指定的字符串。它也有三个参数:str,pattern和replacement。 str是要进行分析的字符串。 pattern是需要替换的字符串或正则表达式。 replacement是用于替换的字符串。 下面是两个使用REGEXP_REPLACE函数的例子: ``` SELECT REGEXP_REPLACE('welcome', 'e', 'vv') FROM DUAL; SELECT REGEXP_REPLACE('welcome', '[a-z]', 'vvv') AS result FROM DUAL; ``` 第一个例子,我们将字符串"welcome"的字母"e"替换为"vv",所以结果为"wvvlcomv"。 第二个例子,我们将字符串"welcome"的所有小写字母替换为"vvv",所以结果为"wvvvvvv".<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Oracle函数regexp_countregexp_replace用法](https://blog.csdn.net/a720561252803/article/details/90702542)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值